package com.zmn.oms.business.interfaces.log;

import com.zmn.oms.model.entity.log.FcPartLog;

import java.util.List;

/**
 * 类描述：厂商单配件Log
 *
 * @author wangwei
 * @date 2019/06/17 11:17
 */
public interface FcPartLogBService {
    /**
     * 根据工单Id 和 log 类型查询
     * @param orderId 工单Id
     * @param types 日志类型
     * @return 日志list
     */
    //List<OrderLog> findOrderLogsByTypes(Long orderId, List<Integer> types);

    /**
     * 根据工单Id 和 操作人 查询
     * @param orderId 工单Id
     * @param operatorId 操作人员Id
     * @return 日志list
     */
    //List<OrderLog> findOrderLogsByOperator(Long orderId, Long operatorId);

    /**
     * 根据工单Id 和 工程师Id查询
     * @param orderId 工单Id
     * @param masterId 工程师Id
     * @return 日志list
     */
    //List<OrderLog> findOrderLogsByMaster(Long orderId, Long masterId);

    /**
     * 根据配件id 查询log
     * @param fcOrderPartId
     * @return 日志list
     */
    List<FcPartLog> findLogsByFcPartId(Integer fcOrderPartId);

    /**
     * 根据工单id 查询log
     * @param workId
     * @return 日志list
     */
    //List<OrderLog> findOrderLogsByWorkId(Long workId);

    /**
     * 根据id 查询log
     * @param id
     * @return 日志list
     */
    //OrderLog findOrderLogById(Long id);

    /**
     * 保存
     * @param fcPartLog
     */
    void save(FcPartLog fcPartLog);

    /**
     * 统计指定时间内的操作者的指定操作类型的订单数量
     * @param startTime 开始时间（含）
     * @param endTime 结束时间（不含）
     * @param orderLogType 订单操作类型
     * @param currentOperatorOnly 订单绩效是否仅计入给最后一次执行该类型操作的操作员。
     *          即：将该值设为true时，如果一个订单被多次派单，则该工单仅计入给最后一个执行派单操作的操作员绩效
     * @return
     */
    //List<OperatorAchievementsDto> findOperatorAchievements(Date startTime, Date endTime, Integer orderLogType, boolean currentOperatorOnly);
}
